1) 함수, 음함수, 매개변수/극좌표 곡선
Mathit에서는 수학 해석학 및 미적분학에서 다루는 다양한 양함수, 음함수, 매개변수 방정식, 극좌표 곡선을 매우 간결하고 정확한 표현식으로 그려낼 수 있습니다.
이번 문서에서는 여러 형태의 함수와 곡선을 정의하고 화면에 그리는 방식을 다룹니다.
1. 양함수 그래프 ($y = f(x)$)
가장 기본이 되는 $1$변수 양함수 그래프입니다. 식을 변수에 할당한 뒤 draw: 지시어와 $x$축 정의구역(Domain)을 지정합니다.
// 함수 식 정의
f = x^3 - 3*x + 1
// 정의구역 x in -2..2.5 구간에서 곡선 그리기
draw: f, x in -2..2.5, thick=1.5pt, color=#blue
// 삼각함수 및 다항함수 조합
g = sin(x) + 0.5*x
draw: g, x in -pi..2*pi, stroke=dash, color=#red
Tip: Mathit 내부 해석기는
sin,cos,tan,exp,ln,log,sqrt,abs등 주요한 수학 표준 함수를 모두 기본 지원합니다.
2. 음함수 곡선 ($F(x, y) = c$)
원, 타원, 쌍곡선, 또는 $y$에 대해 정리하기 어려운 복잡한 음함수(Implicit Curve) 관계식을 직접 그려냅니다.
// 타원 형태의 음함수 식
imp1 = x^2 / 9 + y^2 / 4 == 1
draw: imp1, x in -4..4, y in -3..3, color=#purple
// 데카르트의 엽선 (Folium of Descartes)
folium = x^3 + y^3 == 3*x*y
draw: folium, x in -3..3, y in -3..3, thick=1.5pt
x in ... 및 y in ... 범위를 지정하여 음함수 솔버가 해를 탐색할 영역을 설정합니다.
3. 매개변수 곡선 (Parametric Curves)
매개변수 $t$를 사용하여 $(x(t), y(t))$ 형태의 위치 좌표를 곡선으로 시각화합니다.
// 매개변수 t에 따른 사이클로이드(Cycloid) 곡선
x_t = 2 * (t - sin(t))
y_t = 2 * (1 - cos(t))
// t 범위 지정하여 매개변수 곡선 그리기
draw: param(x_t, y_t), t in 0..4*pi, color=#orange, thick=1.5pt
4. 극좌표 곡선 ($r = f(\theta)$)
반지름 $r$과 각도 $\theta$ 사이의 관계식으로 이루어진 극좌표(Polar) 곡선(심장형, 장미선 등)을 그립니다.
// 심장형 곡선 (Cardioid): r = 2 * (1 - cos(theta))
r_cardioid = 2 * (1 - cos(theta))
draw: polar(r_cardioid), theta in 0..2*pi, fill=#red/15, stroke=1.5pt
// 4엽 장미선 (Rose Curve): r = 3 * sin(2*theta)
r_rose = 3 * sin(2 * theta)
draw: polar(r_rose), theta in 0..2*pi, color=#blue
5. 종합적으로 보자면
양함수와 매개변수 곡선의 교점을 찾고 라벨을 추가하는 예시입니다.
// 축 및 전역 설정
@view: [-3, 4], [-2, 5]
axis: x, y, O
// 두 함수 정의 및 그리기
f = x^2 - 2
g = -x + 2
draw: f, x in -2.5..2.5, thick=1.5pt, color=#blue
draw: g, x in -2..4, color=#red
// 두 함수의 교점 자동 구하기
P1 = isect(f, g, #left)
P2 = isect(f, g, #right)
// 교점 표시 및 라벨 지정
dot: P1, P2, color=#black, size=4pt
label: P1"$( -2, 2 )$"(nw)
label: P2"$( 1, -1 )$"(ne)